package com.jml.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;


@RestController
@RefreshScope
/*● 在java类上加一个注解就可以做到更新应用的内容。
    ○ 会先把这个单例bean销毁掉，然后再创建一个新的bean，读取最新的配置文件给这个bean。
    ○ 如果重新创建的这个类，里面变量是spring容器中的，那么不会有任何影响，如果这个变量是自定义，重新创建后，这个变量可能会没有值*/
public class MemberService {
    DiscoveryClient discoveryClient;

    private Config config1 = new Config();

    @Autowired
    private Config config;

    @Value("${depart.name}")
    private String departName;

    @RequestMapping("/getUser")
    public String getUser() {
        List<ServiceInstance> instances = discoveryClient.getInstances("");
        return "jml";
    }

    @RequestMapping("/getYml")
    public String getYml() {
        return departName;
    }

    @RequestMapping("/setConfig")
    public void setConfig() {
        config.cc = "zxccxz";
    }

    @RequestMapping("/getConfig")
    public String getConfig() {
        return config.cc;
    }
}
